const BASE_URL = 'https://gmall-prod.atguigu.cn';

const app = getApp();

function request(url, data = {}, method = 'GET') {
  return new Promise((resolve, reject) => {
    wx.request({
      url: BASE_URL + url,
      method,
      data,
      header: {
        token: app.globalData.token
      },
      // 成功回调：只要服务器有响应（不管响应成功还是失败），都触发success
      success(response) {
        /*
          response 是一个对象
            {
              cookies: [],
              errMsg: "request:ok",
              statusCode: 200, // 响应状态码 2xx 成功  非 2xx 失败
              header: {}, // 响应头
              data: { // 响应体数据
                code: 200, // 功能状态码 200 成功 非 200 失败
                message: '', // 失败原因
                data: [], // 成功的数据
              }
            }
        */
        //  console.log('success', response);
        if (response.statusCode >= 200 && response.statusCode < 300) {
          // 请求成功
          if (response.data.code === 200) {
            // 功能成功
            resolve(response.data.data);
          } else {
            // 功能失败
            console.log('功能失败了', response.data.message);
            reject();
          }
        } else {
          // 请求失败
          console.log('请求失败了', response.data);
          reject();
        }
      },
      // 失败回调：服务器没有响应
      fail(error) {
        // console.log('fail', error);
        console.log('请求失败了', error);
        reject();
      }
    })
  })
}

export default request;